1. Field of the Invention
This invention relates to data processing systems. More particularly, this invention relates to the selection of a performance level to be used by a data processing system capable of operating at a plurality of different performance levels.
2. Description of the Prior Art
It is known to provide data processing systems capable of operating at a plurality of different performance levels. Typically, a relatively low performance and low power consumption performance level will be used when maximum processing performance is not required whereas when processing intensive operations are being performed, then a higher performance level will be selected at the expense of consuming more power.
As an example of the type of processing systems capable of operating at different performance levels, the processors produced by Intel Corporation incorporating their SpeedStep technology operate in a high power, high speed mode as well as one or more lower power low speed modes. Switching between these performance levels is typically carried out in dependence upon sensed external parameters, such as whether or not the system is connected to a mains power supply or a battery power supply.
It is also known to provide more dynamic performance level management based upon the dynamically determined processing demands placed upon the data processing system. An example of such an approach is the LongRun software control of processor clock speed applied in the processors produced by Transmeta. Such software attempts to reduce the processor clock frequency and accordingly the power consumed when the processing demands being placed upon the processor are light and increase the clock frequency to obtain high performance when the processing demands are greater.
A problem with this approach is that in order to ensure that the power saving techniques do not interfere with the usability of the system, the software tends to make safe assumptions regarding the desired performance level and to run the system at a higher average performance level than is truly required. This wastes power. In addition, the algorithm used will tend to be suited to some types of processing activity but not others and this will further render the performance level control inaccurate.